home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / bbsutil / wmail230.zip / WMSTRUCT.230 < prev    next >
Text File  |  1992-12-28  |  13KB  |  286 lines

  1. WMAIL 2.3 - Copyright 1990-92 by Silvan Calarco -
  2.  
  3.     ────────────────────────────────────────
  4.     Structures of files managed by WMAIL 2.3
  5.     ────────────────────────────────────────
  6.  
  7. The following structures are created in Turbo Pascal; look at following
  8. table for type compatibility.
  9.  
  10. Turbo Pascal  C language    Length
  11. ────────────  ────────────  ───────
  12. Byte          Char          1 byte
  13. Char          Char          1 byte
  14. Integer       Int           2 bytes
  15. Word          Unsigned Int  2 bytes
  16. Longint       Long          4 bytes
  17. ────────────  ────────────  ───────
  18.  
  19. String[] format uses a byte more than the number specified in brackets, as
  20. the first one (String[0]) contains string length.
  21.  
  22. ───────────────────────────────────────────────────────────────────────────
  23.  
  24.  
  25. { ***** Configuration file structures *********************************** }
  26.  
  27.  
  28.    SetRec=Record       { >>>>> file WMAIL.PRM <<<<< }
  29.              Version:Word;      { 4: WMail 2.0
  30.                                   5: WMail 2.1
  31.                                   9: WMail 2.2
  32.                                  10: WMail 2.3 }
  33.              Sysop:String[30];
  34.              Key:String[16];
  35.              Aka:Array[0..10] of  { Aka 0 is primary address }
  36.                  Record
  37.                     Zone,Net,Node,Point:Integer;
  38.                     Domain:String[20];
  39.                  end;
  40.              FakeNet:Word;
  41.              ZoneGate:Array[1..10] of
  42.                       Record
  43.                          Net,Node:Integer;
  44.                       end;
  45.              Active_Options:Byte; { Bit mapped:
  46.                                         0: Import dupes
  47.                                         1: Import bad messages
  48.                                         2: Do statistics
  49.                                         3: Use log file
  50.                                         4: Use nodelist files
  51.                                         5: Create new Fido area
  52.                                         6: Create new QBBS area
  53.                                         7: Binkley mode on }
  54.              Swap:Byte;           { 0: No swap; 1: Disk swap; 2: EMS swap }
  55.              MinSpace:Word;
  56.              Dir:Record
  57.                     Mail,Files,Out,ArcMail,MsgBase,Dupes,
  58.                     BadEcho,Packer,Stats,NewAreas,Nodelist:String[60];
  59.                  end;
  60.              Origin:Array[1..10] of String[65];
  61.              AreaListFile:String[60];
  62.              LogFile:String[60];
  63.              LogLevel:Byte;        { 0: Important messages
  64.                                      1: Important+normal messages
  65.                                      2: Important+normal+detailed messages
  66.                                      3: Debug mode (all sort of messages) }
  67.              LogStyle:Byte;        { 0: Binkley Term; 1: FrontDoor }
  68.              Active_Options2:Byte; { Bit mapped:
  69.                                        0: Kill rcvd messages
  70.                                        1: Sort nodes
  71.                                        2: Write nodes in short form
  72.                                        3: Allow user rescan
  73.                                        5: Combine 2 tear lines
  74.                                        6: Honour RRQs
  75.                                        7: Kill packed messages }
  76.              C_WindowBorder,       { Video attributes }
  77.              C_WindowTitle,
  78.              C_WindowNorm,
  79.              C_WindowHi,
  80.              C_SelBar,
  81.              C_ShowField,
  82.              C_EditField,
  83.              C_MenuDeny,
  84.              C_MessageNorm,
  85.              C_Griglia,
  86.              C_TopBar,
  87.              C_BottomBar,
  88.              C_InfoBar,
  89.              C_WMailText:Byte;
  90.              Filler1:Array [1..2736] of Byte;
  91.              RouteFile:String[60];
  92.              Packer:Array[1..7] of { See DefPacker for packers and unpackers
  93.                                      correspondence. }
  94.                     Record
  95.                        Name:String[12];
  96.                        Parms:String[20];
  97.                     end;
  98.              UnPacker:Array[1..7] of
  99.                       Record
  100.                          Name:String[12];
  101.                          Parms:String[20];
  102.                       end;
  103.              DefPacker:Byte;        {1:ARC 2:ARJ 3:LZH 4:PAK 5:ZIP 6:ZOO 7:SQZ}
  104.              Def_Misc:Byte;         { Bit mapped:
  105.                                          0: Put origin
  106.                                          1: Put tear line
  107.                                          2: Hide SEEN-BY
  108.                                          3: Strip 4d address
  109.                                          4: Add AKA's
  110.                                          5: Put domain
  111.                                          6: Force Public
  112.                                          7: Force Private  }
  113.              Rescan_File:String[60];
  114.              LinkNodes:String[60];
  115.              CreatingNodes:String[60];
  116.              AlertNodes:String[60];
  117.              AfFlags:Byte;          { Bit mapped: (for areafix)
  118.                                          0: Kill processed messages
  119.                                          1: Sort nodes
  120.                                          2: Write nodes in short form
  121.                                          3: Allow rescan
  122.                                          4: Set Crash bit on  (in answer msgs.)
  123.                                          5: Set Hold bit on
  124.                                          6: Set Killsent bit on  }
  125.              Def_Misc2:Byte;        { Bit mapped:
  126.                                          0: 4d point infos }
  127.              Unused:Array[1..754] of Byte;
  128.           end;
  129.  
  130.  
  131.    AreasRecord=Record { >>>>> File AREAS.PRM <<<<< }
  132.                   Titolo   : String[40];
  133.                   Path     : String[80];
  134.                   Tipo     : Byte; {Local=1  EchoMail=2  NetMail=3
  135.                                    Passthru=4}
  136.                   WEdOrigin: Byte; { Used by WEdit }
  137.                   Tag      : String[40];
  138.                   Def_Attr : Byte;        {Bit Mapped (used by WEdit):
  139.                                                      Bit 0 : Pvt
  140.                                                      Bit 1 : Crash
  141.                                                      Bit 4 : F/A
  142.                                                      Bit 7 : Kill/Sent}
  143.                   ForwardTo: Array[1..3] Of String[60];
  144.                   Aka      : Byte;
  145.                   Misc     : Byte;  { Bits: see SetRec.Def_Misc }
  146.                   Level    : Byte;
  147.                   WMOrigin : Byte;
  148.                   WEd_Aka  : Byte;  { Used by WEdit }
  149.                   General  : Byte   { Bit mapped:
  150.                                          0: Inactive area  }
  151.                   Misc2    : Byte;  { Bits: see SetRec.Def_Misc2 }
  152.                   Fill     : Char;
  153.                   CWExtRec : Word;  { Must be equal to ExtendRec; if not so
  154.                                       assume ExtendRec:=0 }
  155.                   ExtendRec: Word;  { Used for compatiblity with different
  156.                                       versions of WMail & WEdit; it contains
  157.                                       the number of bytes to skip to find next
  158.                                       record (0 in this version)   }
  159.                end;
  160.  
  161.  
  162.    NodesRecord=Record  { >>>>> file NODES.PRM <<<<< }
  163.                   Zona,Net,Nodo,Point:Integer;
  164.                   Packer:Byte;        { Like in SetRec.Def_Packer }
  165.                   PktPw:String[8];
  166.                   Filler:Array[1..12] of Byte;
  167.                   AfPw:String[20];
  168.                   Level:Byte;         { The level assigned to the node
  169.                                         for areafix operations }
  170.                   Misc:Integer;       { Bit mapped:
  171.                                           0: Daily packets  }
  172.                   Aka:Byte;
  173.                   Filler1:Array[1..20] of Byte;
  174.                end;
  175.  
  176. { ***** Statistics files structures ************************************* }
  177.  
  178.    Stat1=Record         { >>>>> file WMSTAT1.DAT <<<<< }